unslf:  Extracts files from JA2 SLF archives
Version 1.11 of November 10 2001
Author: Snap
Bug reports to tacpans@yahoo.com
This program is freeware.

Usage: unslf [-lnoj] file.slf file ... [-d exdir]

The default action is to extract files from file.slf and put them into
directory exdir.  If a file already exists, you will be prompted to 
overwrite it.

Parameters:
  -l        list files (do not extract)
  -n        never overwrite existing files
  -o        overwrite files WITHOUT prompting
  -j        junk paths (do not make directories)
  file.slf  SLF archive
  file ...  files to extract (case-insensitive); may use wildcards * and ?
  -d exdir  put extracted files into directory exdir, instead of the default
            directory*

This program should be run from a command prompt (DOS window) or using
the "Run..." command in the start menu.  The easiest way to use unslf
is to copy it into your Data directory (where all the SLF files
reside) and run it from there.

* By default files will be extracted into the base directory specified in the
SLF archive.  Usually the name of that directory is the same as the name of the
archive.  For instance, the base directory for BINARYDATA.SLF is BinaryData
(case doesn't matter).  With the -d option you can specify an alternative
directory for extracted files.  It can be a relative or an absolute path.  If
the directory doesn't exist, the program will attempt to create it.  Note that
even with the -j option, files will still be extracted into the default
directory (or the one specified by the -f option).  If you want files to be
extracted into the current directory, use -d . option.  For example:

        unslf binarydata.slf ja2set.dat -d .

Examples:

  unslf bigitems.slf gun01.sti gun02.sti
  
  => extract files gun01.sti and gun02.sti from bigitems.slf

  unslf faces.slf *speck* -d myfaces
  
  => extract files speck.sti, face33\speck.sti, etc., from faces.slf
  and put them into directory myfaces

  unslf -l tilesets.slf 49\*
  
  => list all files beginning with 49\ in tilesets.slf
    
  unslf -l tilesets.slf * >tilesets.txt
  
  => list all files in tilesets.slf and save output in tilesets.txt


Changes in version 1.11

  * Changed the behaviour of the -d option (see notes above).  Previously
  alternative directory specified with this option did not override the base
  directory specified in the SLF archive.

  * Fixed a bug in the implementation of the -d option, which caused it to fail
  when the directory was specified as an absolute path.